#pragma once
class CPawns
{
private:
	//Class Variables----------------------------------------------//
	//the number or some id for the tile the pawn resides
	int m_tileNum;
	//position of our pawn 
	D3DXVECTOR3 m_pos; 

	//a state to help us keep track of what a pawn is doing 
	//and what parts we should update based on the state
	PawnState	m_State;

	float m_rotateY;


	//Class Functions----------------------------------------------//
public:
	//get and set tileNum------------------------------------------//
	//gets the # of the tile pawn is on

	
	int getTileNum()
	{
		return m_tileNum;
	}
	//if need be we can set the tile number
	void setTileNum(int num)
	{
		m_tileNum = num;
	}

	//get and set pos-------------------------------------------//
	//this is so we can get the position of the pawn
	D3DXVECTOR3 getPos()
	{
		return m_pos;
	}
	//gets us the x part of pos
	float getPosX()
	{
		return m_pos.x;
	}
	//gets us the y part of pos
	float getPosY()
	{
		return m_pos.y;
	}
	//gets us the z part of pos
	float getPosZ()
	{
		return m_pos.z;
	}
	/////////
	//guess what this sets up the pos in one shot
	void setPos(float X,float Y, float Z)
	{
		m_pos.x = X;
		m_pos.y = Y;
		m_pos.z = Z;
	}
	//this sets up the x part of pos
	void setPosX(float X)
	{
		m_pos.x = X;	
	}
	//this sets up the y part of pos
	void setPosY(float Y)
	{	
		m_pos.y = Y;	
	}
	//this sets up the z part of pos
	void setPosZ(float Z)
	{	
		m_pos.z = Z;
	}

	//set both the x and z coordinate simultaneously//
	void setPosXZ(float newX, float newZ)
	{
		m_pos.x = newX;
		m_pos.z = newZ;
	}
	//get and set state-------------------------------------------//
	//if we want to check the state
	PawnState getState()
	{
		return m_State;
	}
	//we set the state like this
	void setState(PawnState newState)
	{
		if(newState >= START && newState <= HOME)
		{
			m_State = newState;
		}
		else
		{
			::MessageBoxA(NULL, "Bad Number Passed to Set State for Pawns", "setState(bad)", MB_OK | MB_ICONERROR);
		}
	}
	//pawn functions-------------------------------------------//
	//in case we have pawns stuff we need to do each loop
	void update()
	{
		//getPos
	}

	float getRotateY()
	{
		return m_rotateY;
	}
	
	void setRotateY(float num)
	{
		m_rotateY = num;
	}

};